//
//  LSDBinaryConversionTool.h
//  BinaryConversionTool
//
//  Created by onepiece on 2019/4/29.
//  Copyright © 2019 onepiece. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface LSDBinaryConversionTool : NSObject


/**
 int转Byte[]

 @param value int
 @param bytes Byte数组
 */
void IntToByteArray(int value,Byte *bytes);

/**
 Byte[]转int

 @param bytes Byte数组
 @return int
 */
int ByteArrayToInt(Byte* bytes);


/**
 十进制转十六进制

 @param decimal 十进制
 @return 十六进制字符串
 */
+(NSString *)getHexByDecimal:(NSDecimalNumber *)decimal;

/**
 十六进制转十进制

 @param hex 十六进制字符串
 @return 十进制
 */
+(long long)getDecimalByHex:(NSString *)hex;

/**
 普通字符串转换为十六进制的字符串

 @param string 普通字符串
 @return 十六进制
 */
+(NSString *)hexStringFromString:(NSString *)string;

/**
 十六进制的字符串转换为普通字符串

 @param hexString 十六进制的字符串
 @return 普通字符串
 */
+(NSString *)stringFromHexString:(NSString *)hexString;

/**
 十六进制转二进制

 @param hex 十六进制
 @return 二进制
 */
+ (NSString *)getBinaryByHex:(NSString *)hex;

/**
 二进制转十六进制

 @param binary 二进制
 @return 十六进制
 */
+ (NSString *)getHexByBinary:(NSString *)binary;

/**
 十进制转换为二进制
 
 @param decimal 十进制数
 @return 二进制数
 */
+(NSString *)getBinaryByDecimal:(NSInteger)decimal;

/**
 二进制转换为十进制

 @param binary 二进制
 @return 十进制
 */
+(NSInteger)getDecimalByBinary:(NSString *)binary;

/**
 int转二进制

 @param value int
 @return 二进制
 */
+(NSData *)intToData:(int)value;

/**
 二进制转int

 @param data 二进制
 @return int
 */
+(int)dataToInt:(NSData *)data;


@end

NS_ASSUME_NONNULL_END
